// 页面: 工作台-租赁管理-租户: 添加租户
const $app = getApp()
Page({
  data: {
    // ===== 参数 =====
    param: {
      tenantType: '0' // 租户类型 (默认'企业')
    },
    fileKeys: ['businessFilePath', 'businessFileName'],
    error: null, // 错误验证
    // ========== 数据相关 ==========
    info: {},
    infoData: {
      '0': {
        businessName: { name: '企业名称', must: true },
        businessAddress: { name: '企业地址', must: true },
        certificateNumber: { name: '证件编号', must: true },
        registerMoney: { name: '注册金额', must: true },
        registerTime: { name: '注册时间'},
        businesstype: { name: '企业类型', must: true },
        businessTel: { name: '企业电话', must: true },
        contactPerson: { name: '联系人', must: true },
        contactTel: { name: '联系人电话', must: true },
        contactQQ: { name: '联系人QQ号'},
        contactEmail: { name: '联系人邮箱'},
        businessFilePathArr: { name: '企业证明材料'}
      },
      '1': {
        businessName: { name: '租户名称', must: true },
        businessAddress: { name: '租户地址', must: true },
        certificateNumber: { name: '身份证编号', must: true },
        contactTel: { name: '联系电话', must: true },
        contactQQ: { name: '联系QQ号'},
        contactEmail: { name: '联系邮箱'},
        businessFilePathArr: { name: '身份证扫描件'}
      }
    },
    // ===== 列表数据 =====
    listData: {
      tenantType: $app.listData.tenantType, // 租户类型
      businesstype: $app.listData.businesstype // 企业类型
    }
    // ===== end =====
  },
  model (e) { $app.$common_wx.model(e, this) }, // 双向绑定
  // ========== 生命周期: 页面初次渲染完成 ==========
  onReady: function () {},
  // ========== 生命周期: 页面显示 ==========
  onShow: function () {},
  // ========== 生命周期: 页面隐藏 ==========
  onHide: function () {},
  // ========== 生命周期: 页面卸载 ==========
  onUnload: function () {},
  // ========== 生命周期: 页面加载 ==========
  onLoad: function () {
    this.tenantTypeChange() // 租户类型改变时
  },
  // ========== 租户类型改变时 ==========
  tenantTypeChange () {
    this.init() // 初始化
    const tenantType = this.data.param.tenantType
    this.setData({ info: this.data.infoData[tenantType] })
  },
  // ========== 初始化 ==========
  init () {
    let param = {
      ...this.data.param,
      id: null, // 租户id
      businessName: null, // 企业名称/租户名称
      businessAddress: null, // 企业地址/租户地址
      certificateNumber: null, // 证件编号/身份证编号
      registerMoney: null, // 注册金额
      registerTime: null, // 注册时间
      businessTel: null, // 企业电话
      businesstype: null, // 企业类型
      contactPerson: null, // 联系人
      contactTel: null, // 联系人电话
      contactQQ: null, // 联系人QQ号
      contactEmail: null, // 联系人邮箱
      businessFilePath: null, // 企业证明材料/身份证扫描件
      businessFilePathArr: [], // 企业证明材料/身份证扫描件arr
      businessFileName: null, // 模板文件名称
      businessFileNameArr: [], // 模板文件名称Arr
      creater: $app.userInfo.id,
      createrName: $app.userInfo.name,
      createTime: $app.$common.dateFormat(new Date(), 'YYYY-MM-DD')
    }
    this.setData({ param })
  },
  // ========== 提交收费记录 ==========
  save () {
    const param = this.data.param
    // 1.验证必填项
    var verify = {}
    for (const k in this.data.info) {
      const b = this.data.info[k]
      if (b.must) verify[k] = b.name
    }
    for (const k in verify) {
      const val = Array.isArray(param[k]) ? param[k][0] : param[k]
      if (!$app.$common.noNull(val)) {
        this.setData({ error: k })
        $app.$common.message(verify[k] + '不能为空') // 提示信息
        return
      }
    }
    this.setData({ error: null })
    // 2.上传
    $app.$common.openLoading() // 开启加载
    this.selectComponent("#zjFile").upload('tenantmessage', 'addTenantmessageWenjian')
  },
  // ========== '文件上传'结束后 ==========
  UploadEnd (e) {
    e = e.detail
    if (e.result === 'fail' || e.result === 'complete') {
      $app.$common.closeLoading() // 关闭加载
      const text = `上传失败${e.failUp}个`
      $app.$common.message(text, 'error')
    } else {
      // $app.$common.closeLoading() // 关闭加载
      this.saveAgain() // 继续保存
    }
  },
  // ========== 继续保存 ==========
  saveAgain () {
    const param = this.data.param
    this.data.fileKeys.forEach(k => { param[k] = param[k + 'Arr'].join(',') })
    // 调接口
    $app.$api.tenantmessage.addTenantmessage(param).then((res) => {
      console.log('api-保存成功', res)
      $app.$common.closeLoading() // 关闭加载
      $app.$common_wx.back('保存成功') // 返回上一页
    }).catch(() => {})
  }
})